Database Restore এবং Point-in-Time Recovery (PITR) হল ডেটাবেস রিকভারি প্রক্রিয়ার অংশ, যা ডেটাবেসের দুর্নীতির পর সঠিক সময় বা অবস্থানে ফিরে যেতে সাহায্য করে। Restore হল ডেটাবেস পুনরুদ্ধারের সাধারণ প্রক্রিয়া, যেখানে Point-in-Time Recovery একটি নির্দিষ্ট সময়ে ডেটাবেসকে পুনরুদ্ধার করার একটি উন্নত কৌশল।
নিচে এই দুটি ধারণা এবং তাদের ব্যবহারের পদ্ধতি বিস্তারিতভাবে আলোচনা করা হলো।
1. Database Restore (ডেটাবেস রিস্টোর)
Database Restore হল একটি প্রক্রিয়া যেখানে একটি ব্যাকআপ ফাইল থেকে ডেটাবেস পুনরুদ্ধার করা হয়। ডেটাবেসের দুর্নীতি, ভুল পরিবর্তন বা হারিয়ে যাওয়া ডেটা থেকে পুনরুদ্ধারের জন্য এটি ব্যবহৃত হয়। Restore প্রক্রিয়া ডেটাবেসের অবস্থান বা সিস্টেমের জন্য একটি সুরক্ষা ব্যবস্থা তৈরি করতে সহায়তা করে।
Restore প্রক্রিয়া
Restore প্রক্রিয়া সাধারণত তিনটি প্রধান স্টেপে বিভক্ত হয়:
- Full Backup Restore: পুরো ডেটাবেসের ব্যাকআপ থেকে ডেটা পুনরুদ্ধার করা হয়।
- Differential Backup Restore: আগের ব্যাকআপ থেকে শুধুমাত্র পরিবর্তিত ডেটা পুনরুদ্ধার করা হয়।
- Transaction Log Restore: ট্রানজ্যাকশন লগের মাধ্যমে শেষ মুহূর্তের পরিবর্তন পুনরুদ্ধার করা হয়।
Restore সিনট্যাক্স:
Full Database Restore:
RESTORE DATABASE YourDatabase
FROM DISK = 'C:\Backup\YourDatabase.bak'
WITH REPLACE;
এটি YourDatabase নামক ডেটাবেস পুনরুদ্ধার করবে।
Transaction Log Restore:
RESTORE LOG YourDatabase
FROM DISK = 'C:\Backup\YourDatabase_Log.trn'
WITH NORECOVERY;
এটি ট্রানজ্যাকশন লগ পুনরুদ্ধার করবে, এবং NORECOVERY অপশন ব্যবহার করলে পুনরুদ্ধারের পর ডেটাবেস চালু হবে না, যা পরবর্তী ব্যাকআপ পুনরুদ্ধারের জন্য প্রয়োজন।
2. Point-in-Time Recovery (PITR)
Point-in-Time Recovery (PITR) হল ডেটাবেস রিকভারি প্রক্রিয়া যেখানে নির্দিষ্ট একটি সময়ে ডেটাবেস ফিরে নিয়ে আসা হয়, সাধারণত সেই সময়ে যখন কোনো অনাকাঙ্ক্ষিত পরিবর্তন বা ডেটা ক্ষতি হয়নি। এটি সাধারণত তখন ব্যবহার করা হয় যখন ডেটাবেসে ভুলভাবে ডেটা পরিবর্তন বা মুছে ফেলা হয় এবং সেই সময় পর্যন্ত ফিরে যেতে চাই।
PITR এর মূল লক্ষ্য হল একটি নির্দিষ্ট টাইমস্ট্যাম্প (সময়) অনুযায়ী ডেটাবেস পুনরুদ্ধার করা, যাতে Transaction Log ব্যাকআপ থেকে আগের সব পরিবর্তন ফিরে আসতে পারে।
PITR প্রক্রিয়া:
- প্রথমে, Full Backup বা Differential Backup ব্যবহার করে ডেটাবেস পুনরুদ্ধার করতে হবে।
- তারপর, Transaction Log ব্যাকআপগুলি পর্যায়ক্রমে পুনরুদ্ধার করতে হবে।
- সর্বশেষে, STOPAT কিওয়ার্ডের মাধ্যমে নির্দিষ্ট সময় (পয়েন্ট) পর্যন্ত ফিরে আসতে হবে।
PITR সিনট্যাক্স:
-- Full Database Restore
RESTORE DATABASE YourDatabase
FROM DISK = 'C:\Backup\YourDatabase.bak'
WITH NORECOVERY;
-- Restore Transaction Logs
RESTORE LOG YourDatabase
FROM DISK = 'C:\Backup\YourDatabase_Log.trn'
WITH NORECOVERY, STOPAT = '2024-01-01 15:00:00';
-- Final Recovery (Brings the database online)
RESTORE DATABASE YourDatabase WITH RECOVERY;
এখানে:
- প্রথমে পুরো ডেটাবেস ব্যাকআপটি NORECOVERY অপশন দিয়ে পুনরুদ্ধার করা হয়েছে।
- তারপরে, Transaction Log ব্যাকআপগুলি পুনরুদ্ধার করা হয়েছে এবং STOPAT অপশন দিয়ে 2024-01-01 15:00:00 সময়ের পরে কোনো পরিবর্তন হবে না।
- শেষের দিকে, WITH RECOVERY দিয়ে ডেটাবেসটি ONLINE করা হয়েছে।
PITR এবং Database Restore এর পার্থক্য
| ফিচার | Database Restore | Point-in-Time Recovery (PITR) |
|---|---|---|
| ব্যবহার | সাধারণ ডেটাবেস পুনরুদ্ধারের জন্য ব্যবহৃত হয় | নির্দিষ্ট সময়ে ডেটাবেস পুনরুদ্ধার করার জন্য ব্যবহৃত হয় |
| ডেটা পুনরুদ্ধার | ব্যাকআপ থেকে পুরো ডেটাবেস পুনরুদ্ধার করা হয় | নির্দিষ্ট সময় পর্যন্ত ডেটা পুনরুদ্ধার করা হয় |
| ব্যাকআপ প্রয়োজন | ফুল ব্যাকআপ, ডিফারেনশিয়াল ব্যাকআপ বা লোগ ব্যাকআপ | ফুল ব্যাকআপ এবং ট্রানজ্যাকশন লগ ব্যাকআপ প্রয়োজন |
| রিস্টোর স্টেপ | একবার ফুল বা ডিফারেনশিয়াল ব্যাকআপ রিস্টোর করলে শেষ | ফুল ব্যাকআপ রিস্টোর করতে হয়, তারপর ট্রানজ্যাকশন লগ রিস্টোর করতে হয় |
| প্রয়োজনীয় সময় | ব্যাকআপের সময় থেকে ডেটাবেস রিস্টোর করা হয় | নির্দিষ্ট সময়ে ফিরে যেতে PITR ব্যবহার করা হয় |
PITR এর ব্যবহার কবে প্রয়োজন?
Point-in-Time Recovery ব্যবহারের কিছু প্রধান ক্ষেত্রে:
- ডেটা ভুলভাবে মুছে ফেলা: যদি কোনো রেকর্ড ভুলভাবে মুছে ফেলা হয় এবং সেই সময়ের মধ্যে কিছু ডেটা পরিবর্তন হয়ে থাকে।
- ডেটা ভুলভাবে আপডেট করা: যখন কোনো রেকর্ড ভুলভাবে আপডেট করা হয় এবং সেই আপডেটের আগে ফিরে যেতে হয়।
- অপ্রত্যাশিত সিস্টেম ক্র্যাশ: সিস্টেমের দুর্ঘটনা বা সিস্টেম ক্র্যাশের পর নির্দিষ্ট সময় পর্যন্ত ডেটাবেস পুনরুদ্ধার করা।
Conclusion
Database Restore এবং Point-in-Time Recovery (PITR) উভয়ই গুরুত্বপূর্ণ ডেটাবেস পুনরুদ্ধার কৌশল। Restore সাধারণত ডেটাবেসের একটি পূর্ণ পুনরুদ্ধার করে, যেখানে PITR একটি নির্দিষ্ট সময় পর্যন্ত ডেটাবেস পুনরুদ্ধার করতে সাহায্য করে, যা ভুল বা অনাকাঙ্ক্ষিত পরিবর্তন প্রতিরোধ করতে উপকারী। PITR নির্দিষ্ট পরিস্থিতিতে বিশেষভাবে গুরুত্বপূর্ণ, যেমন ভুলভাবে মুছে ফেলা বা আপডেট হওয়া ডেটা পুনরুদ্ধার করা।
Read more